Generally described, computing devices and communication networks can be utilized to exchange information. In a common application, a computing device can request content from another computing device via the communication network. For example, a user at a computing device, such as a personal computing device, can utilize a software browser application, typically referred to as a “browser,” to request a Web page from a server computing device via the Internet. In such embodiments, the requesting computing device can be referred to as a client computing device and the server computing device can be referred to as a content provider.
With reference to an illustrative example, a requested Web page, or original content, may be associated with a number of additional resources, such as images or videos, that are to be displayed with the Web page. In one specific embodiment, the additional resources of the Web page are identified by a number of embedded resource identifiers, such as uniform resource locators (“URLs”). In turn, software on the client computing devices, such as a browser, typically processes embedded resource identifiers to generate requests for the content. Accordingly, in order to satisfy a content request, one or more content providers will generally provide client computing devices data associated with the Web page as well as the data associated with the embedded resources.
Once the client computing device obtains the Web page and associated additional resources, the content may be processed in a number of stages by the software browser application or other client computing device interface. For example, and with reference to the above illustration, the software browser application may parse the Web page to process various HTML layout information and references to associated resources, may identify and process Cascading Style Sheets (“CSS”) information, may process and instantiate various Javascript code associated with the Web page, may construct a native object model to represent one or more components of the Web page, and may calculate various layout and display properties of the processed content for presentation to a user.
Although many browsers maintain a historical record of Web pages and network resources viewed at the client computing device, browsers tend to maintain limited data about the previously viewed content, often due to storage constraints at the client computing device. In one aspect, stored information about a previously viewed Web page can include storing or archiving a URL or other reference to the page, a page title, and/or other basic identifying information. Accordingly, accessing a record of a previously viewed Web page may cause the browser to retrieve the most current version of the Web page or network resource corresponding to the stored URL. In another aspect, a user can store a static image of Web page by copying and storing content associated with the Web page. In both aspects, however, accessing a previously viewed Web page based on the stored URL or a stored version of a Web page will not allow the user to view data about changes to the Web page over time, or to view the actual changes themselves.
Searching for Web pages is typically limited to text-based entry of keywords, which are then used to retrieve Web pages that include the keywords in the content or the meta data associated with the Web site. Search results, whether for previously viewed versions of Web pages or for current versions, are also typically provided as text. The search results displayed to the user may include a portion of text in an HTML tag of the web page, a digest of the text displayed on the page, or a portion of text that the search provider determines to be relevant to the search. Some search results may include a static image of the search result. Refinement of search results typically involves entry of additional search terms, and the refined results are likewise typically text-based with static images.